package top.mccat.common.mapper.bk;

import top.mccat.common.core.domain.bk.BkProduct;

import java.util.List;

/**
 * 产品Mapper接口
 * 
 * @author ruoyi
 * @date 2022-11-06
 */
public interface BkProductMapper 
{
    /**
     * 查询产品
     * 
     * @param id 产品主键
     * @return 产品
     */
    public BkProduct selectBkProductById(Integer id);

    /**
     * 查询产品列表
     * 
     * @param bkProduct 产品
     * @return 产品集合
     */
    public List<BkProduct> selectBkProductList(BkProduct bkProduct);

    /**
     * 查询产品名
     * @return 产品名集合
     */
    public List<BkProduct> selectBkProductNameList(BkProduct bkProduct);

    /**
     * 查询产品型号
     * @param productName 产品
     * @return 产品型号名集合
     */
    public List<BkProduct> selectBkProductModelList(String productName);

    /**
     * 新增产品
     * 
     * @param bkProduct 产品
     * @return 结果
     */
    public int insertBkProduct(BkProduct bkProduct);

    /**
     * 修改产品
     * 
     * @param bkProduct 产品
     * @return 结果
     */
    public int updateBkProduct(BkProduct bkProduct);

    /**
     * 修改子id产品
     *
     * @param bkProduct 产品
     * @return 结果
     */
    public int updateBkProductEnable(BkProduct bkProduct);

    /**
     * 删除产品
     * 
     * @param id 产品主键
     * @return 结果
     */
    public int deleteBkProductById(Integer id);

    /**
     * 批量删除产品
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBkProductByIds(Integer[] ids);

    /**
     * 批量删除子产品
     * @param parentId 父类别参数
     * @return 结果
     */
    public int deleteBkProductByParentId(Integer parentId);
}
